<template>
	<view class="content">
		<!-- 		<u-datetime-picker
			:show="showStart" 
			v-model="timeStamp" 
			closeOnClickOverlay mode="date"
			@confirm="confirmStart" 
			@cancel="showStart = false" 
			@close="showStart = false">
		</u-datetime-picker> -->
		<!-- <mescroll-uni ref="mescrollRef" @init="mescrollInit" @up="upCallback" :up="upOption" :down="{use: false}"> -->
		<view class="section-1">
			<view class="form">
				<view class="form-item">
					<view class="label">项目名称</view>
					<view class="shape"></view>
					<view class="input">
						<u--input placeholderClass="input-placeholder" class="input-body" v-model="form.project_name"></u--input>
					</view>
				</view>
				<view class="actions">
					<view class="action" @click="handleResetForm()">
						<text>重</text>
						<text>置</text>
					</view>
					<view class="action search" @click="handleSearch()">
						<text>查</text>
						<text>询</text>
					</view>
				</view>
			</view>
			<view class="list">
				<view :class="`item ${expandList.indexOf(item.id) !== -1 ? 'item__expand' : ''}`" v-for="(item, index) in list" :key="item.id">
					<view class="parent" @click="expandChange(item.id, item.id, 2, index)">
						<view class="action">
							<view class="iconfont icon-xiangyou1"></view>
						</view>
						<view class="name">{{ index + 1 }}.{{ item.project_name }}</view>
					</view>
					<view class="child" v-if="expandList.indexOf(item.id) !== -1">
						<view class="child-item" v-for="(item2, idx) in item.children" :key="item2.project_id + idx">
							<view class="top" @click="expandChange(`${index}-${idx}`, item2.id, 3 )">
								<view :class="`action ${expandList.indexOf(`${index}-${idx}`) !== -1 ? 'action__active' : ''}`">
									<view class="iconfont icon-xiangyou1"></view>
								</view>
								<view class="name">{{ index + 1 }}-{{ idx + 1 }}.{{ item2.project_name }}</view>
							</view>
							<view class="grad" v-if="expandList.indexOf(`${index}-${idx}`) !== -1">
								<!-- 		<view class="grad-item" @click="go(item3)" v-for="(item3, idx3) in item2.children" :key="item3.id">
										<view class="grad-top">
											<view class="name">
												{{index + 1}}-{{idx + 1}}-{{idx3 + 1}}.{{item3.work_type}}
											</view>
											<view class="desc">
												<text>{{item3.work_position}}</text>
												等级：{{item3.risk_level}}
											</view>
										</view>
									</view> -->
								<view class="grad-item" @click="go(age)" v-for="(age,index) in item2.children" :key="age.id">
									<view class="grad-top">{{ index+1 }} {{ age.name }}</view>
								</view>
							</view>
						</view>
					</view>
				</view>
			</view>
			<!-- <view v-else class="custom-empty">
					<text class="iconfont icon-zanwushuju"></text>
					<view class="empty-title">暂无数据</view>
				</view> -->
		</view>
		<!-- </mescroll-uni> -->
	</view>
</template>

<script>
import { projectRiskAnalysisApi, ExcellencePlanListGroup, projectRiskByProjectIdApi, riskListApi } from '@/api/statistics.js'
import {ExcellencePlanList} from '@/api/project.js'
import { mapGetters, mapActions } from 'vuex'
import formArea from '@/components/form_area/index.vue'
export default {
	components: {
		formArea
	},
	data() {
		return {
			form: {
				project_name: ''
			},
			list: {},
			expandList: [],
			pageList: []
		}
	},
	methods: {
		async expandChange(id,project_id, deep, index) {
			const idx = this.expandList.indexOf(id)
			if (idx !== -1) {
				this.expandList.splice(idx, 1)
			} else {
				this.expandList.push(id)
			}
			if (project_id && deep === 2 && idx === -1) {
				if (!this.list[index].children) {
					this.fetchList(index, project_id)
				}
			}
			if (project_id && deep === 3) {
				if (!this.list[id.split('-')[0]].children[id.split('-')[1]].children) {
					this.fetchInfo(id, project_id)
				}
			}
		},
		async fetchInfo(id, project_id) {
			uni.showLoading({ title: '加载中...' })
			this.pageList=[]
			ExcellencePlanList({project_id:project_id}).then(res=>{
				res.data.data.data.map(item=>{
					item.plan_data.plan_id=item.id
					item.plan_data.progress=item.progress
							this.pageList.push(item.plan_data)
						})
			})
				let dep = JSON.parse(JSON.stringify(this.list))
				dep[id.split('-')[0]].children[id.split('-')[1]].children = this.pageList
				this.list = dep
			uni.hideLoading()
		},
		// 跳转
		go(params) {
			let obj = {
				id: params.plan_id,
				project_name: params.name,
				basic_condition_now:params.progress.basic_condition_now,
				basic_condition_total:params.progress.basic_condition_total,
				comment_now:params.progress.comment_now,
				comment_total:params.progress.comment_total,
				file_now:params.progress.file_now,
				file_total:params.progress.file_total,
			}
			console.log(obj);
			uni.navigateTo({
				// url: '/pages/statistics/today/risk/info/index?params=' + JSON.stringify(obj)
				url: '/pages/statistics/quality/excellenceChild/excellenceChild?params=' + JSON.stringify(obj)
			})
		},
		// 重置
		handleResetForm() {
			this.form.project_name = ''
		},
		// 查询
		handleSearch() {
			ExcellencePlanListGroup({}).then(res => {
				this.list = res.data.data
			})
		}
	},
	created() {
		this.handleSearch()
	}
}
</script>

<style lang="scss" scoped>
.custom-empty {
	position: static;
}

.content {
	background-color: #fff;
}

.section {
	background-color: #2c5cff;

	.section-bdoy {
		border-top-left-radius: 50rpx;
		border-top-right-radius: 50rpx;
		background-color: #2c5cff;
		overflow: hidden;

		.tab {
			width: 100%;
			height: 100rpx;
			@include clear();
			background-color: #10298a;

			.item {
				width: 25%;
				float: left;
				height: 100rpx;
				background-color: #10298a;
				position: relative;

				.label {
					width: 100%;
					float: left;
					position: relative;
					z-index: 10;
					box-sizing: border-box;
					text-align: center;
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 0rpx;
					color: #87c6ff;
					line-height: 100rpx;
				}

				.time-picker {
					margin-top: 32rpx;
					float: left;
					display: inline-block;
					padding: 0 18rpx;
					height: 36rpx;
					border-radius: 17rpx;
					border: solid 1rpx #87c6ff;
					line-height: 36rpx;
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 0rpx;
					color: #87c6ff;
					margin-left: 20rpx;
				}

				.shape {
					z-index: 1;
					width: 50rpx;
					height: 50rpx;
					position: absolute;
					bottom: 0;
					left: -50rpx;
					background: #000;
					display: none;
					background-color: #1d33c6;
					overflow: hidden;

					.shape-body {
						width: 50rpx;
						height: 50rpx;
						background-color: #10298a;
						border-bottom-right-radius: 50rpx;
					}
				}

				.shape-mirrow {
					z-index: 1;
					left: 0;
					display: none;

					.shape-body {
						border-bottom-right-radius: 0rpx;
						border-bottom-left-radius: 50rpx;
					}
				}
			}

			.item__active {
				border-top-left-radius: 50rpx;
				border-top-right-radius: 50rpx;
				background-color: #1534ce;

				.label {
					color: #fff;
				}

				.shape {
					display: block;
				}

				.shape-mirrow {
					display: none;
				}
			}

			.item__active_next {
				border-bottom-right-radius: 50rpx;

				.shape {
					display: none;
				}

				.shape-mirrow {
					display: block;
				}
			}
		}

		.top-total {
			width: 100%;
			box-sizing: border-box;
			height: 88rpx;
			line-height: 88rpx;
			font-size: 26rpx;
			font-weight: normal;
			font-stretch: normal;
			letter-spacing: 0rpx;
			color: #87c6ff;
			background: #1534ce;
			padding-left: 40rpx;
			padding-right: 40rpx;

			text {
				font-weight: bold;
				font-size: 58rpx;
				font-weight: normal;
				font-stretch: normal;
				line-height: 49rpx;
				letter-spacing: 0rpx;
				color: #ffffff;
			}
		}
	}
}

.section-1 {
	position: relative;
	top: -50rpx;
	z-index: 10;
	background-color: #fff;
	border-top-left-radius: 50rpx;
	border-top-right-radius: 50rpx;

	.list {
		width: 670rpx;
		box-sizing: border-box;
		margin-left: 40rpx;
		border-top: 2rpx solid #d8e4f2;

		.item {
			width: 100%;
			border-bottom: solid 2rpx #f2f2f0;

			.parent {
				width: 100%;
				@include clear();

				.name {
					width: 550rpx;
					line-height: 30rpx;
					padding: 26rpx 0;
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 2rpx;
					color: #3b3c40;
					float: left;
				}

				.count {
					float: right;
					min-width: 46rpx;
					height: 46rpx;
					margin-top: 18rpx;
					border-radius: 28rpx;
					line-height: 46rpx;
					text-align: center;
					font-size: 26rpx;
					font-weight: bold;
					color: #395cf5;
					background: #ffde00;

					text {
						font-size: 16rpx;
					}
				}

				.action {
					float: left;
					width: 32rpx;
					margin-right: 18rpx;
					line-height: 82rpx;
					text-align: center;
					color: #3b3c40;

					.iconfont {
						font-size: 32rpx;
						transition: 0.2s ease;
						transform: rotate(90deg);
					}
				}
			}

			.child {
				width: 750rpx;
				margin-left: -40rpx;
				background: #f2f2fa;

				.child-item {
					width: 100%;
					border-bottom: 2rpx solid #e3e8f5;
					@include clear();

					&:last-child {
						border-bottom: none;
					}

					.top {
						width: 100%;
						overflow: hidden;
						box-sizing: border-box;
						padding-left: 40rpx;
						padding-right: 40rpx;

						.count {
							float: right;
							min-width: 46rpx;
							height: 46rpx;
							margin-top: 18rpx;
							border-radius: 28rpx;
							line-height: 46rpx;
							text-align: center;
							font-size: 26rpx;
							font-weight: bold;
							color: #395cf5;

							// background: #ffde00;
							text {
								font-size: 16rpx;
							}
						}

						.name {
							float: left;
							width: calc(100% - 150rpx);
							box-sizing: border-box;
							padding: 26rpx 0;
							font-size: 26rpx;
							color: #3b3c40;
							font-size: 26rpx;
						}

						.action {
							width: 32rpx;
							line-height: 82rpx;
							float: left;
							text-align: center;
							color: #7f98ae;
							margin-right: 18rpx;

							.iconfont {
								font-size: 32rpx;
								transition: 0.2s ease;
								transform: rotate(90deg);
							}
						}
					}
				}
			}

			.grad {
				width: 100%;
				background: #d9d9e2;

				.grad-item {
					width: 100%;
					border-bottom: 2rpx solid #e3e8f5;

					&:last-child {
						border-bottom: none;
					}

					.grad-top {
						width: 100%;
						overflow: hidden;
						box-sizing: border-box;
						padding-left: 40rpx;
						font-size: 26rpx;
						color: #3b3c40;
						padding: 20rpx 0 10rpx 90rpx;
						// .name {
						// 	float: left;
						// 	width: calc(100% - 40rpx);
						// 	padding: 26rpx 0;
						// 	padding-bottom: 10rpx;
						// 	font-size: 26rpx;
						// 	color: #3b3c40;
						// 	padding-left: 50rpx;
						// 	box-sizing: border-box;
						// }
						// .desc{
						// 	float: left;
						// 	width: calc(100% - 40rpx);
						// 	font-size: 16rpx;
						// 	color: #9b9b9b;
						// 	box-sizing: border-box;
						// 	padding-left: 50rpx;
						// 	padding-bottom: 26rpx;
						// 	text{
						// 		min-width: 300rpx;
						// 		margin-right: 30rpx;
						// 		display: inline-block;
						// 	}
						// }
					}
				}
			}

			.action__active {
				.iconfont {
					transform: rotate(-90deg) !important;
				}
			}
		}

		.item__expand {
			.parent {
				.action {
					.iconfont {
						transform: rotate(-90deg);
					}
				}
			}

			.child {
				box-shadow: 0rpx 10rpx 10rpx 0rpx rgba(0, 0, 0, 0.05) inset;
			}
		}
	}

	.actions {
		width: 100%;
		height: 50rpx;
		margin-top: 29rpx;
		padding-bottom: 40rpx;
		display: flex;
		justify-content: space-between;

		.action {
			width: 288rpx;
			height: 48rpx;
			background-color: #395cf5;
			border-radius: 20rpx;
			text-align: center;
			line-height: 48rpx;
			font-size: 26rpx;
			font-weight: normal;
			font-stretch: normal;
			line-height: 48rpx;
			color: #ffffff;

			text {
				&:first-child {
					margin-right: 20rpx;
				}
			}
		}

		.search {
			background-color: #1534ce;
		}
	}

	.form {
		width: 100%;
		padding: 0 75rpx;
		padding-top: 100rpx;
		box-sizing: border-box;
		border-top-left-radius: 50rpx;
		border-top-right-radius: 50rpx;

		.form-item {
			width: 600rpx;
			height: 48rpx;
			border-radius: 20rpx;
			border: solid 2rpx #1534ce;
			margin: 0 auto;
			margin-bottom: 34rpx;
			@include clear();

			.label {
				float: left;
				width: 134rpx;
				height: 48rpx;
				text-align: center;
				line-height: 44rpx;
				font-size: 26rpx;
				font-weight: normal;
				font-stretch: normal;
				letter-spacing: 0rpx;
				color: #1534ce;
			}

			.shape {
				width: 3rpx;
				height: 32rpx;
				background-color: #7f98ae;
				float: left;
				margin-top: 8rpx;
			}

			.input {
				height: 100%;
				float: left;
				width: calc(100% - 134rpx - 3rpx);

				.time-body {
					height: 48rpx;
					width: 45%;
					float: left;
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 0rpx;
					color: rgba(0, 0, 0, 0.7);
					text-align: center;
					line-height: 48rpx;
				}

				.time-split {
					float: left;
					width: 10%;
					text-align: center;
					color: #1534ce;
				}

				.input-body {
					box-sizing: border-box;
					width: 100%;
					height: 44rpx;
					padding: 0 !important;
					border: none;
					padding-left: 30rpx !important;
					padding-right: 30rpx !important;
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 0rpx;
					color: rgba(0, 0, 0, 0.7);
				}

				.input-placeholder {
					font-size: 26rpx;
					font-weight: normal;
					font-stretch: normal;
					letter-spacing: 0rpx;
					color: rgba(0, 0, 0, 0.5);
				}
			}
		}
	}
}

.section-0 {
	width: 100%;
	background-color: #2e5efe;

	.section-body {
		width: 100%;
		// height: 340rpx;
		padding-left: 40rpx;
		padding-right: 40rpx;
		padding-bottom: 50rpx;
		padding-top: 20rpx;
		background-color: #1534ce;
		background-size: cover;
		background-repeat: no-repeat;
		// border-top-left-radius: 50rpx;
		// border-top-right-radius: 50rpx;
		overflow: hidden;
		box-sizing: border-box;

		.item {
			width: 33.33%;
			float: left;
			display: flex;
			flex-wrap: wrap;
			align-content: space-between;
			height: 100rpx;
			position: relative;
			padding-top: 20rpx;
			padding-bottom: 20rpx;

			.shape {
				width: 4rpx;
				height: 84rpx;
				background-image: linear-gradient(rgba(#3658f2, 0.3) 0%, #3658f2 30%, #3658f2 70%, rgba(#3658f2, 0.3) 100%);
				position: absolute;
				right: 0;
				top: 28rpx;
			}

			.shape2 {
				height: 4rpx;
				width: 172rpx;
				background-image: linear-gradient(90deg, rgba(#3658f2, 0.3) 0%, #3658f2 30%, #3658f2 70%, rgba(#3658f2, 0.3) 100%);
				position: absolute;
				left: 0;
				right: 0;
				margin: 0 auto;
				bottom: -2rpx;
			}

			.top {
				width: 100%;
				text-align: center;
				font-size: 16rpx;
				font-weight: normal;
				font-stretch: normal;
				letter-spacing: 0rpx;
				color: #95c4fa;
			}

			.bottom {
				width: 100%;
				text-align: center;
				font-size: 58rpx;
				font-weight: bold;
				font-stretch: normal;
				letter-spacing: 0rpx;
				color: #ffde00;
			}
		}

		.item__on {
			.top {
				text-shadow: 8rpx 8rpx 8rpx rgba(0, 0, 0, 0.3);
			}

			.bottom {
				text-shadow: 8rpx 8rpx 8rpx rgba(0, 0, 0, 0.3);
			}
		}
	}
}
</style>
